package org.ziyuandagong.file.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 
 * </p>
 *
 * @author 自愿打工
 * @since 2024-12-06
 */
@TableName("file_info")
@ApiModel(value = "Info对象", description = "")
public class Info implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("文件唯一标识符")
    private String fileId;

    @ApiModelProperty("所属用户的唯一标识")
    private String userId;

    @ApiModelProperty("文件原始名称")
    private String originalFileName;

    @ApiModelProperty("文件在分布式存储系统中的实际存储名称")
    private String storedFileName;

    @ApiModelProperty("文件扩展名")
    private String fileExtension;

    @ApiModelProperty("文件大小（字节）")
    private Long fileSize;

    @ApiModelProperty("文件类型描述")
    private String fileType;

    @ApiModelProperty("文件上传时间")
    private LocalDateTime uploadDate;

    @ApiModelProperty("文件上次访问时间")
    private LocalDateTime lastAccessDate;

    @ApiModelProperty("是否已被删除（逻辑删除）")
    private Boolean isDeleted;

    @ApiModelProperty("文件删除时间")
    private LocalDateTime deleteDate;

    @ApiModelProperty("是否被共享")
    private Boolean isShared;

    @ApiModelProperty("共享链接")
    private String shareLink;

    @ApiModelProperty("共享密码")
    private String sharePassword;

    @ApiModelProperty("文件版本号")
    private Integer versionNumber;

    @ApiModelProperty("所属父文件夹的ID")
    private String parentFolderId;

    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getOriginalFileName() {
        return originalFileName;
    }

    public void setOriginalFileName(String originalFileName) {
        this.originalFileName = originalFileName;
    }
    public String getStoredFileName() {
        return storedFileName;
    }

    public void setStoredFileName(String storedFileName) {
        this.storedFileName = storedFileName;
    }
    public String getFileExtension() {
        return fileExtension;
    }

    public void setFileExtension(String fileExtension) {
        this.fileExtension = fileExtension;
    }
    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }
    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }
    public LocalDateTime getUploadDate() {
        return uploadDate;
    }

    public void setUploadDate(LocalDateTime uploadDate) {
        this.uploadDate = uploadDate;
    }
    public LocalDateTime getLastAccessDate() {
        return lastAccessDate;
    }

    public void setLastAccessDate(LocalDateTime lastAccessDate) {
        this.lastAccessDate = lastAccessDate;
    }
    public Boolean getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }
    public LocalDateTime getDeleteDate() {
        return deleteDate;
    }

    public void setDeleteDate(LocalDateTime deleteDate) {
        this.deleteDate = deleteDate;
    }
    public Boolean getIsShared() {
        return isShared;
    }

    public void setIsShared(Boolean isShared) {
        this.isShared = isShared;
    }
    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }
    public String getSharePassword() {
        return sharePassword;
    }

    public void setSharePassword(String sharePassword) {
        this.sharePassword = sharePassword;
    }
    public Integer getVersionNumber() {
        return versionNumber;
    }

    public void setVersionNumber(Integer versionNumber) {
        this.versionNumber = versionNumber;
    }
    public String getParentFolderId() {
        return parentFolderId;
    }

    public void setParentFolderId(String parentFolderId) {
        this.parentFolderId = parentFolderId;
    }

    @Override
    public String toString() {
        return "Info{" +
            "fileId=" + fileId +
            ", userId=" + userId +
            ", originalFileName=" + originalFileName +
            ", storedFileName=" + storedFileName +
            ", fileExtension=" + fileExtension +
            ", fileSize=" + fileSize +
            ", fileType=" + fileType +
            ", uploadDate=" + uploadDate +
            ", lastAccessDate=" + lastAccessDate +
            ", isDeleted=" + isDeleted +
            ", deleteDate=" + deleteDate +
            ", isShared=" + isShared +
            ", shareLink=" + shareLink +
            ", sharePassword=" + sharePassword +
            ", versionNumber=" + versionNumber +
            ", parentFolderId=" + parentFolderId +
        "}";
    }
}
